package zh.javadesign.工厂方法.impl01;

import com.alibaba.fastjson.JSON;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.HashMap;

/**
 * Copyright (C) 广州中和互联网技术有限公司
 * 测试常规方法发放礼品
 * @author 范家微 fanjiawei@borche.cn
 * @date :2021/1/28 22:38
 */
@Slf4j
public class ApiTest {
	private Logger logger = LoggerFactory.getLogger(ApiTest.class);
	@Test
	public void test(){
		PrizeController prizeController = new PrizeController();
		System.out.println("\r\n模拟发放优惠券测试\r\n");
		// 模拟发放优惠券测试
		AwardReq req1 = new AwardReq();
		req1.setUId("10001").setAwardType(1).setAwardNumber("EGM1023938910232121323432").setBizId("64646464648488");
		AwardRes awardRes01 = prizeController.awardToUser(req1);
		logger.info("请求参数：{}", JSON.toJSON(req1));
		logger.info("测试结果：{}", JSON.toJSON(awardRes01));



		// 模拟方法实物商品
		AwardReq req02 = new AwardReq();
		req02.setUId("10001");
		req02.setAwardType(2);
		req02.setAwardNumber("9820198721311");
		req02.setBizId("1023000020112221113");
		req02.setExtMap(new HashMap<String, String>() {{
			put("consigneeUserName", "谢飞机");
			put("consigneeUserPhone", "15200292123");
			put("consigneeUserAddress", "吉林省.长春市.双阳区.XX街道.檀溪苑小区.#18-2109");
		}});

		AwardRes awardRes02 = prizeController.awardToUser(req02);
		logger.info("请求参数：{}", JSON.toJSON(req02));
		logger.info("测试结果：{}", JSON.toJSON(awardRes02));

		System.out.println("\r\n第三方兑换卡(爱奇艺)\r\n");
		AwardReq req03 = new AwardReq();
		req03.setUId("10001");
		req03.setAwardType(3);
		req03.setAwardNumber("AQY1xjkUodl8LO975GdfrYUio");

		AwardRes awardRes03 = prizeController.awardToUser(req03);
		logger.info("请求参数：{}", JSON.toJSON(req03));
		logger.info("测试结果：{}", JSON.toJSON(awardRes03));
	}
}
